/*=========================================
        BADMINTON HERO SECTION
=========================================*/

.badminton-hero{
    position: relative;
    padding: 90px 0;
    overflow: hidden;
    background: linear-gradient(135deg,#ffffff 0%,#f7fbf8 100%);
}

.badminton-hero::before{
    content: "";
    position: absolute;
    width: 650px;
    height: 650px;
    top: -260px;
    right: -220px;
    background: rgba(12,138,69,.08);
    border-radius: 50%;
    z-index: 0;
}

.badminton-hero::after{
    content: "";
    position: absolute;
    width: 280px;
    height: 280px;
    left: -120px;
    bottom: -120px;
    background: rgba(13,138,69,.05);
    border-radius: 50%;
    z-index: 0;
}

.hero-wrapper{
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.05fr .95fr;
    align-items: center;
    gap: 80px;
}

/*=========================================
        LEFT CONTENT
=========================================*/

.hero-content{
    display: flex;
    flex-direction: column;
}

.hero-breadcrumb{
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 25px;
    font-size: 15px;
    color: #777;
}

.hero-breadcrumb a{
    color: #777;
    transition: .3s;
}

.hero-breadcrumb a:hover{
    color: var(--primary-color);
}

.hero-breadcrumb .active-page{
    color: var(--primary-color);
    font-weight: 600;
}

.hero-badge{
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: fit-content;
    padding: 12px 24px;
    border-radius: 50px;
    background: #eaf8ef;
    color: var(--primary-color);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .5px;
    margin-bottom: 28px;
}

.hero-badge i{
    font-size: 15px;
}

.hero-content h1{
    font-size: 64px;
    line-height: 1.08;
    font-weight: 800;
    color: #101828;
    margin-bottom: 28px;
}

.hero-content h1 span{
    color: var(--primary-color);
}

.hero-content p{
    max-width: 620px;
    font-size: 18px;
    line-height: 1.9;
    color: #667085;
    margin-bottom: 40px;
}

/*=========================================
        HERO BUTTONS
=========================================*/

.hero-buttons{

    display:flex;

    align-items:center;

    gap:18px;

    margin-bottom:45px;

    flex-wrap:wrap;

}

.hero-buttons .btn-primary{

    min-width:210px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50px;

    background:var(--primary-color);

    color:#fff;

    font-size:16px;

    font-weight:600;

    box-shadow:0 15px 35px rgba(13,138,69,.25);

    transition:.35s;

}

.hero-buttons .btn-primary:hover{

    transform:translateY(-5px);

    background:var(--primary-hover);

}

.hero-buttons .btn-secondary{

    min-width:210px;

    height:58px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50px;

    background:#fff;

    color:var(--primary-color);

    border:2px solid var(--primary-color);

    font-size:16px;

    font-weight:600;

    transition:.35s;

}

.hero-buttons .btn-secondary:hover{

    transform:translateY(-5px);

    background:var(--primary-color);

    color:#fff;

}


/*=========================================
        HERO HIGHLIGHTS
=========================================*/

.hero-highlights{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.hero-highlights div{

    display:flex;

    align-items:center;

    gap:14px;

    background:#fff;

    padding:18px 20px;

    border-radius:18px;

    box-shadow:0 15px 30px rgba(0,0,0,.06);

    transition:.35s;

    font-weight:600;

    color:#1f2937;

}

.hero-highlights div:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 40px rgba(0,0,0,.10);

}

.hero-highlights i{

    color:var(--primary-color);

    font-size:20px;

}


/*=========================================
        HERO RIGHT IMAGE
=========================================*/

.hero-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}

.hero-image::before{

    content:"";

    position:absolute;

    width:520px;

    height:520px;

    border-radius:50%;

    background:linear-gradient(135deg,#0D8A45,#53d183);

    opacity:.12;

    z-index:0;

}

.hero-image img{

    position:relative;

    width:100%;

    max-width:610px;

    border-radius:28px;

    object-fit:cover;

    box-shadow:0 30px 60px rgba(0,0,0,.18);

    z-index:2;

    transition:.5s;

}

.hero-image img:hover{

    transform:scale(1.02);

}


/*=========================================
        FLOATING INFO CARD
=========================================*/

.hero-image::after{

    content:"Premium Acrylic Courts";

    position:absolute;

    left:-20px;

    bottom:35px;

    background:#fff;

    padding:18px 24px;

    border-radius:18px;

    font-size:15px;

    font-weight:700;

    color:#111827;

    box-shadow:0 18px 40px rgba(0,0,0,.12);

    z-index:5;

}

/*=========================================
        HERO STATS
=========================================*/

.hero-stats{

    margin-top:-20px;

    padding-bottom:90px;

}

.stats-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.stat-box{

    background:#fff;

    border-radius:20px;

    padding:35px 25px;

    text-align:center;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

}

.stat-box:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.12);

}

.stat-box h2{

    font-size:42px;

    color:var(--primary-color);

    margin-bottom:12px;

}

.stat-box p{

    font-size:16px;

    color:#667085;

}


/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px){

.hero-wrapper{

grid-template-columns:1fr 1fr;

gap:50px;

}

.hero-content h1{

font-size:54px;

}

.hero-image img{

max-width:520px;

}

}


@media(max-width:992px){

.badminton-hero{

padding:70px 0;

}

.hero-wrapper{

grid-template-columns:1fr;

gap:60px;

}

.hero-content{

align-items:center;

text-align:center;

}

.hero-content p{

max-width:100%;

}

.hero-buttons{

justify-content:center;

}

.hero-highlights{

width:100%;

}

.hero-image{

order:-1;

}

.hero-image::after{

left:20px;

bottom:20px;

}

.stats-wrapper{

grid-template-columns:repeat(2,1fr);

}

}


@media(max-width:768px){

.hero-content h1{

font-size:40px;

}

.hero-buttons{

flex-direction:column;

}

.hero-buttons a{

width:100%;

}

.hero-highlights{

grid-template-columns:1fr;

}

.hero-image::after{

display:none;

}

.stats-wrapper{

grid-template-columns:1fr;

}

}


@media(max-width:576px){

.hero-content h1{

font-size:32px;

line-height:1.2;

}

.hero-content p{

font-size:15px;

}

.hero-badge{

font-size:12px;

}

.hero-breadcrumb{

font-size:13px;

}

.hero-image::before{

width:320px;

height:320px;

}

}

/*=========================================
            OVERVIEW
=========================================*/

.badminton-overview{

    padding:100px 0;

    background:#fff;

}

.overview-wrapper{

    display:grid;

    grid-template-columns:1.1fr .9fr;

    align-items:center;

    gap:70px;

}

.overview-image{

    position:relative;

    height:640px;

    border-radius:30px;

    overflow:hidden;

    box-shadow:
    0 30px 70px rgba(0,0,0,.15);

    transition:.45s;

}

.overview-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    object-position:center;

    transition:.6s;

}

.overview-image:hover img{

    transform:scale(1.08);

}

.overview-image:hover{

    transform:translateY(-10px);

}


.overview-image::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    left:-70px;

    top:-70px;

    border-radius:50%;

    background:rgba(34,197,94,.12);

    filter:blur(80px);

    z-index:-1;

}



.section-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:14px;

    font-weight:700;

    letter-spacing:.5px;

    margin-bottom:20px;

}

.overview-content h2{

    margin-bottom:25px;

}

.overview-content>p{

    margin-bottom:40px;

}

.overview-features{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:22px;

}

.overview-card{

    display:flex;

    gap:18px;

    padding:22px;

    background:#fff;

    border-radius:18px;

    box-shadow:0 12px 30px rgba(0,0,0,.06);

    transition:.35s;

}

.overview-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 45px rgba(34,197,94,.12);


}



.overview-card i{

    width:58px;

    height:58px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:24px;

    flex-shrink:0;

}

.overview-card:hover i{

    transform:rotate(12deg);

    background:var(--primary-color);

    color:#fff;

}


.overview-card h4{

    margin-bottom:8px;

    color:#111827;

}

.overview-card p{

    font-size:15px;

}


/*==========================
Responsive
==========================*/

@media(max-width:992px){

.overview-wrapper{

grid-template-columns:1fr;

gap:50px;

}

.overview-image{

height:520px;

max-width:700px;

margin:auto;

}

.overview-content{

text-align:center;

}

.overview-features{

grid-template-columns:1fr 1fr;

}

}

@media(max-width:768px){

.overview-features{

grid-template-columns:1fr;

}

}

/*=========================================
        COURT TYPES
=========================================*/

.court-types{

    padding:100px 0;

    background:#F8FBF9;

}

.court-wrapper{
    display:grid;
    grid-template-columns:1fr;
    max-width:900px;
    margin:60px auto 0;
}
}

.court-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    transition:.35s;

}

.court-card:hover{

    transform:translateY(-10px);

}

.court-image{

    overflow:hidden;

}

.court-image img{

    width:100%;

    height:300px;

    object-fit:cover;

    transition:.5s;

}

.court-card:hover .court-image img{

    transform:scale(1.08);

}

.court-content{

    padding:35px;

}

.court-tag{

    display:inline-block;

    padding:8px 18px;

    border-radius:50px;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:13px;

    font-weight:700;

    margin-bottom:18px;

}

.court-content h3{

    margin-bottom:18px;

}

.court-content p{

    margin-bottom:25px;

}

.court-content ul{

    display:flex;

    flex-direction:column;

    gap:15px;

}

.court-content li{

    display:flex;

    align-items:center;

    gap:12px;

    color:#374151;

    font-weight:500;

}

.court-content li i{

    color:var(--primary-color);

}

/*======================
Responsive
======================*/

@media(max-width:992px){

.court-wrapper{

grid-template-columns:1fr;

}

}

@media(max-width:576px){

.court-content{

padding:28px;

}

.court-image img{

height:240px;

}

}

/*=========================================
        COURT COLOURS
=========================================*/

.court-colours{

    padding:100px 0;

    background:#fff;

}

.colour-wrapper{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:60px;

}

.colour-card{

    background:#fff;

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 18px 40px rgba(0,0,0,.08);

    transition:.35s;

}

.colour-card:hover{

    transform:translateY(-10px);

}

.colour-image{

    overflow:hidden;

}

.colour-image img{

    width:100%;

    height:260px;

    object-fit:cover;

    transition:.5s;

}

.colour-card:hover img{

    transform:scale(1.08);

}

.colour-content{

    padding:30px;

    text-align:center;

}

.colour-content h3{

    margin-bottom:15px;

}

.colour-content p{

    font-size:15px;

}

/*=========================
Responsive
=========================*/

@media(max-width:992px){

.colour-wrapper{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:768px){

.colour-wrapper{

grid-template-columns:1fr;

}

}

/*=========================================
        COURT STRUCTURE
=========================================*/

.court-structure{
    padding:110px 0;
    background:#F8FBF9;
}

.structure-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
    margin-top:60px;
}

.structure-image{
    position:sticky;
    top:120px;
}

.structure-image img{
    width:100%;
    border-radius:24px;
    box-shadow:0 20px 50px rgba(0,0,0,.10);
}

.structure-content{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.layer-card{
    display:flex;
    align-items:flex-start;
    gap:18px;
    padding:20px 22px;
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    transition:.35s;
}

.layer-card:hover{
    transform:translateY(-5px);
    box-shadow:0 18px 40px rgba(0,0,0,.10);
}

.layer-number{
    width:54px;
    height:54px;
    min-width:54px;
    border-radius:50%;
    background:var(--primary-color);
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:18px;
    font-weight:700;
}

.layer-card h3{
    font-size:22px;
    margin-bottom:8px;
    color:#111827;
}

.layer-card p{
    font-size:15px;
    line-height:1.7;
    color:#667085;
}

/*=========================================
        MATERIALS WE USE
=========================================*/

.materials-section{

    padding:110px 0;

    background:#fff;

}

.materials-timeline{

    position:relative;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    margin-top:70px;

    gap:15px;

}

.timeline-line{

    position:absolute;

    top:34px;

    left:4%;

    width:92%;

    height:3px;

    background:#d9e5dc;

    z-index:1;

}

.material-step{

    position:relative;

    z-index:2;

    flex:1;

    text-align:center;

    transition:.35s;

}

.step-circle{

    width:70px;

    height:70px;

    margin:auto;

    border-radius:50%;

    background:#fff;

    border:3px solid #d9e5dc;

    color:#777;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:18px;

    font-weight:700;

    transition:.35s;

}

.material-step h4{

    margin-top:22px;

    margin-bottom:8px;

    font-size:18px;

    color:#111827;

}

.material-step p{

    font-size:14px;

    color:#6b7280;

}

.material-step:hover .step-circle,

.material-step.active .step-circle{

    background:var(--primary-color);

    border-color:var(--primary-color);

    color:#fff;

    transform:scale(1.08);

}

.material-step:hover h4,

.material-step.active h4{

    color:var(--primary-color);

}


/*==========================
Tablet
==========================*/

@media(max-width:992px){

.materials-timeline{

overflow-x:auto;

padding-bottom:20px;

justify-content:flex-start;

gap:40px;

}

.material-step{

min-width:170px;

}

.timeline-line{

width:1100px;

left:35px;

}

}


/*==========================
Mobile
==========================*/

@media(max-width:576px){

.step-circle{

width:60px;

height:60px;

font-size:16px;

}

.material-step h4{

font-size:16px;

}

}


/*=========================================
        CONSTRUCTION PROCESS
=========================================*/

.construction-process{

    padding:110px 0;

    background:#F8FBF9;

}

.process-wrapper{

    position:relative;

    display:flex;

    justify-content:space-between;

    margin-top:70px;

    gap:20px;

}

.process-line{

    position:absolute;

    top:35px;

    left:5%;

    width:90%;

    height:3px;

    background:#dce7df;

    z-index:1;

}

.process-step{

    position:relative;

    z-index:2;

    flex:1;

    text-align:center;

}

.process-circle{

    width:72px;

    height:72px;

    margin:auto;

    border-radius:50%;

    background:#fff;

    border:3px solid #dce7df;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    color:var(--primary-color);

    transition:.35s;

}

.process-step:hover .process-circle{

    background:var(--primary-color);

    color:#fff;

    border-color:var(--primary-color);

    transform:translateY(-8px);

}

.process-step h4{

    margin-top:22px;

    font-size:17px;

}

@media(max-width:992px){

.process-wrapper{

overflow-x:auto;

justify-content:flex-start;

gap:40px;

padding-bottom:20px;

}

.process-step{

min-width:150px;

}

.process-line{

width:1100px;

left:35px;

}

}

@media(max-width:576px){

.process-circle{

width:60px;

height:60px;

font-size:20px;

}

}

/*==================================================
        COURT SPECIFICATIONS
==================================================*/

.court-specifications{

    padding:120px 0;

    background:#F8FBF9;

    position:relative;

    overflow:hidden;

}

.specification-wrapper{

    display:grid;

    grid-template-columns:1.15fr .85fr;

    gap:70px;

    align-items:start;

    margin-top:70px;

}


/*==================================================
        BLUEPRINT
==================================================*/

.court-blueprint{

    position:sticky;

    top:120px;

    background:#fff;

    border-radius:28px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.08);

}


/*=========================
HEADER
=========================*/

.blueprint-header{

    padding:28px 35px;

    border-bottom:1px solid #ECECEC;

    background:#fff;

}

.blueprint-header h3{

    font-size:30px;

    color:#111827;

    margin-bottom:10px;

}

.blueprint-header span{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:8px 18px;

    border-radius:40px;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:14px;

    font-weight:600;

}


/*=========================
IMAGE
=========================*/

.court-blueprint img{

    display:block;

    width:108%;

    padding:0;

    object-fit:contain;

    margin-left:-4%;

    transition:.45s;

}

.court-blueprint:hover img{

    transform:scale(1.02);

}


/*=========================
FOOTER
=========================*/

.blueprint-footer{

    display:flex;

    align-items:center;

    gap:14px;

    padding:25px 30px;

    border-top:1px solid #ECECEC;

    font-size:15px;

    line-height:1.8;

    color:#667085;

}

.blueprint-footer i{

    color:var(--primary-color);

    font-size:22px;

    flex-shrink:0;

}


/*==================================================
        RIGHT SIDE
==================================================*/

.specification-content{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.spec-item{

    display:flex;

    align-items:center;

    gap:20px;

    padding:18px 22px;

    border-radius:20px;

    background:#fff;

    border:1px solid #F1F1F1;

    transition:.35s;

    position:relative;

    overflow:hidden;

}

.spec-item::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:4px;

    height:100%;

    background:transparent;

    transition:.35s;

}

.spec-item:hover{

    transform:translateX(10px);

    box-shadow:0 18px 40px rgba(0,0,0,.08);

}

.spec-item:hover::before{

    background:var(--primary-color);

}

.spec-icon{

    width:68px;

    height:68px;

    min-width:68px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:24px;

    transition:.35s;

}

.spec-item:hover .spec-icon{

    background:var(--primary-color);

    color:#fff;

}

.spec-info{

    flex:1;

}

.spec-info h4{

    font-size:20px;

    color:#111827;

    margin-bottom:6px;

}

.spec-info p{

    font-size:15px;

    color:#667085;

    line-height:1.7;

}

/*==================================================
        RESPONSIVE
==================================================*/

@media(max-width:1400px){

.specification-wrapper{

grid-template-columns:1fr .9fr;

gap:50px;

}

.blueprint-header{

padding:25px 30px;

}

.blueprint-header h3{

font-size:28px;

}

}


@media(max-width:1200px){

.specification-wrapper{

grid-template-columns:1fr;

gap:60px;

}

.court-blueprint{

position:relative;

top:0;

max-width:900px;

margin:auto;

}

.specification-content{

max-width:900px;

margin:auto;

width:100%;

}

}


/*=========================
TABLET
=========================*/

@media(max-width:992px){

.court-specifications{

padding:90px 0;

}

.specification-wrapper{

gap:50px;

}

.blueprint-header{

padding:22px 25px;

}

.blueprint-header h3{

font-size:26px;

}

.blueprint-footer{

padding:22px 25px;

}

.spec-item{

padding:20px;

}

.spec-icon{

width:60px;

height:60px;

min-width:60px;

font-size:22px;

}

.spec-info h4{

font-size:20px;

}

.spec-info p{

font-size:15px;

}

}


/*=========================
MOBILE
=========================*/

@media(max-width:768px){

.court-specifications{

padding:80px 0;

}

.specification-wrapper{

gap:40px;

}

.court-blueprint{

border-radius:22px;

}

.blueprint-header{

padding:20px;

text-align:center;

}

.blueprint-header h3{

font-size:22px;

margin-bottom:12px;

}

.court-blueprint img{

padding:4px;

}

.blueprint-footer{

padding:20px;

font-size:14px;

line-height:1.7;

}

.spec-item{

padding:18px;

gap:16px;

}

.spec-icon{

width:55px;

height:55px;

min-width:55px;

font-size:20px;

}

.spec-info h4{

font-size:20px;

}

.spec-info p{

font-size:14px;

}

}


/*=========================
SMALL MOBILE
=========================*/

@media(max-width:576px){

.specification-wrapper{

gap:35px;

}

.spec-item{

flex-direction:column;

align-items:flex-start;

text-align:left;

}

.spec-item:hover{

transform:translateY(-5px);

}

.spec-icon{

margin-bottom:5px;

}

.blueprint-header h3{

font-size:20px;

}

.blueprint-header span{

font-size:12px;

padding:8px 14px;

}

.blueprint-footer{

font-size:13px;

gap:10px;

}

}


/*==================================================
        PREMIUM ANIMATION
==================================================*/

.court-blueprint{

animation:fadeLeft .8s ease;

}

.spec-item{

animation:fadeRight .6s ease;

}

.spec-item:nth-child(2){

animation-delay:.1s;

}

.spec-item:nth-child(3){

animation-delay:.2s;

}

.spec-item:nth-child(4){

animation-delay:.3s;

}

.spec-item:nth-child(5){

animation-delay:.4s;

}

.spec-item:nth-child(6){

animation-delay:.5s;

}

@keyframes fadeLeft{

from{

opacity:0;

transform:translateX(-50px);

}

to{

opacity:1;

transform:translateX(0);

}

}

@keyframes fadeRight{

from{

opacity:0;

transform:translateX(40px);

}

to{

opacity:1;

transform:translateX(0);

}

}

/*=========================================
        WHY SPORTSCAMP INFRA
=========================================*/

.why-choose{

    padding:120px 0;

    background:#ffffff;

    overflow:hidden;

}


/*=========================================
        IMAGE
=========================================*/

.why-image{

    margin-top:70px;

    border-radius:30px;

    overflow:hidden;

    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.why-image img{

    width:100%;

    height:620px;

    display:block;

    object-fit:cover;

    transition:.5s;

}

.why-image:hover img{

    transform:scale(1.04);

}



/*=========================================
        STATS BAR
=========================================*/

.why-stats{

    margin-top:-45px;

    position:relative;

    z-index:5;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    background:linear-gradient(90deg,#0B8B44,#17B45C);

    border-radius:22px;

    overflow:hidden;

    box-shadow:0 20px 50px rgba(0,0,0,.15);

}



.stat-item{

    text-align:center;

    padding:35px 20px;

    position:relative;

}



.stat-item:not(:last-child)::after{

    content:"";

    position:absolute;

    right:0;

    top:50%;

    transform:translateY(-50%);

    width:1px;

    height:65px;

    background:rgba(255,255,255,.25);

}



.stat-item h3{

    color:#fff;

    font-size:44px;

    font-weight:700;

    margin-bottom:8px;

    letter-spacing:1px;

}



.stat-item p{

    color:rgba(255,255,255,.92);

    font-size:16px;

    line-height:1.6;

}



/*=========================================
        FEATURES
=========================================*/

.why-features{

    margin-top:80px;

}



.feature-row{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:35px 0;

    border-bottom:1px solid #E8E8E8;

    transition:.35s;

}



.feature-row:first-child{

    border-top:1px solid #E8E8E8;

}



.feature-left{

    display:flex;

    align-items:flex-start;

    gap:28px;

}



.feature-icon{

    width:72px;

    height:72px;

    min-width:72px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#EAF8EF;

    color:var(--primary-color);

    font-size:28px;

    transition:.35s;

}



.feature-left h3{

    font-size:28px;

    color:#111827;

    margin-bottom:12px;

}



.feature-left p{

    max-width:760px;

    font-size:16px;

    line-height:1.9;

    color:#667085;

}



.feature-row:hover{

    padding-left:15px;

}



.feature-row:hover .feature-icon{

    background:var(--primary-color);

    color:#fff;

    transform:rotate(10deg);

}



.feature-row:hover h3{

    color:var(--primary-color);

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px){

.why-image img{

height:520px;

}

.feature-left h3{

font-size:24px;

}

.feature-left p{

font-size:15px;

max-width:100%;

}

}


@media(max-width:992px){

.why-choose{

padding:100px 0;

}

.why-image{

margin-top:60px;

}

.why-image img{

height:450px;

}

.why-stats{

grid-template-columns:repeat(2,1fr);

}

.stat-item{

padding:30px 15px;

}

.stat-item:nth-child(2)::after{

display:none;

}

.stat-item h3{

font-size:38px;

}

.stat-item p{

font-size:15px;

}

.feature-row{

padding:28px 0;

}

.feature-left{

gap:22px;

}

.feature-icon{

width:65px;

height:65px;

min-width:65px;

font-size:24px;

}

.feature-left h3{

font-size:22px;

}

}


@media(max-width:768px){

.why-choose{

padding:80px 0;

}

.why-image{

margin-top:45px;

border-radius:22px;

}

.why-image img{

height:340px;

}

.why-stats{

margin-top:-15px;

border-radius:18px;

}

.stat-item{

padding:25px 15px;

}

.stat-item h3{

font-size:30px;

}

.stat-item p{

font-size:14px;

}

.feature-row{

padding:24px 0;

}

.feature-left{

gap:18px;

}

.feature-icon{

width:55px;

height:55px;

min-width:55px;

font-size:20px;

}

.feature-left h3{

font-size:19px;

margin-bottom:8px;

}

.feature-left p{

font-size:14px;

line-height:1.7;

}

}


@media(max-width:576px){

.why-stats{

grid-template-columns:1fr;

margin-top:15px;

}

.stat-item{

padding:22px;

}

.stat-item::after{

display:none !important;

}

.feature-row{

padding:22px 0;

}

.feature-left{

flex-direction:column;

gap:15px;

}

.feature-icon{

margin-bottom:5px;

}

.feature-left h3{

font-size:18px;

}

.feature-left p{

font-size:14px;

}

.feature-row:hover{

padding-left:8px;

}

}



/*=========================================
        SCROLL ANIMATION
=========================================*/

.why-image{

animation:fadeUp .8s ease both;

}

.why-stats{

animation:fadeUp .9s ease both;

}

.feature-row{

animation:fadeUp .7s ease both;

}

.feature-row:nth-child(2){

animation-delay:.08s;

}

.feature-row:nth-child(3){

animation-delay:.16s;

}

.feature-row:nth-child(4){

animation-delay:.24s;

}

.feature-row:nth-child(5){

animation-delay:.32s;

}

.feature-row:nth-child(6){

animation-delay:.40s;

}



/*=========================================
        HOVER POLISH
=========================================*/

.feature-row{

position:relative;

}

.feature-row::before{

content:"";

position:absolute;

left:0;

top:0;

width:0;

height:100%;

background:linear-gradient(90deg,#F3FFF8,transparent);

transition:.45s;

z-index:-1;

}

.feature-row:hover::before{

width:100%;

}

.feature-row:hover{

border-bottom-color:#D9F2E2;

}

.stat-item{

transition:.35s;

}

.stat-item:hover{

transform:translateY(-6px);

}

.stat-item:hover h3{

transform:scale(1.08);

}

.stat-item h3{

transition:.35s;

}

.why-image{

transition:.4s;

}

.why-image:hover{

box-shadow:0 35px 80px rgba(0,0,0,.18);

}



/*=========================================
        ENTRY ANIMATION
=========================================*/

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(40px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================================
        BEFORE & AFTER
=========================================*/

.before-after{

    padding:120px 0;

    background:#F8FBF9;

    overflow:hidden;

}


/*=========================================
        COMPARISON
=========================================*/

.comparison-wrapper{

    margin-top:70px;

}

.comparison-container{

    position:relative;

    width:100%;

    height:650px;

    border-radius:30px;

    overflow:hidden;

   -webkit-user-select: none;
user-select: none;

    box-shadow:0 30px 70px rgba(0,0,0,.15);

    cursor:ew-resize;
    touch-action:none;

}

.comparison-image{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

}

.before-image{

    position:absolute;

    top:0;

    left:0;

    width:50%;

    height:100%;

    overflow:hidden;

}

.before-image img{

    position:absolute;
    top:0;
    left:0;
    width:100%;
    max-width:none;
    height:100%;
    object-fit:cover;
    display:block;

}


/*=========================================
        LABELS
=========================================*/

.label{

    position:absolute;

    top:30px;

    padding:10px 22px;

    border-radius:40px;

    font-size:15px;

    font-weight:600;

    color:#fff;

    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);

    background:rgba(0,0,0,.45);

    z-index:5;

}

.before-label{

    left:30px;

}

.after-label{

    right:30px;

}


/*=========================================
        SLIDER
=========================================*/

.slider-line{

    position:absolute;

    left:50%;

    top:0;

    width:3px;

    height:100%;

    background:#fff;

    transform:translateX(-50%);

    z-index:10;

}

.slider-button{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:70px;

    height:70px;

    border-radius:50%;

    background:#16A34A;

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:26px;

    box-shadow:0 15px 35px rgba(0,0,0,.25);

    border:4px solid #fff;

    transition:.3s;

     cursor:grab;

}

.slider-button:active{

    cursor:grabbing;

    transform:translate(-50%,-50%) scale(.92);

}

.comparison-container:hover .slider-button{

    transform:translate(-50%,-50%) scale(1.08);

}


/*=========================================
        BENEFITS
=========================================*/

.comparison-benefits{

    margin-top:50px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;

}

.benefit-item{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:12px;

    padding:18px 20px;

    background:#fff;

    border-radius:50px;

    border:1px solid #E5E7EB;

    transition:.35s;

}

.benefit-item i{

    color:var(--primary-color);

    font-size:18px;

}

.benefit-item span{

    font-size:15px;

    font-weight:600;

    color:#111827;

}

.benefit-item:hover{

    background:var(--primary-color);

    transform:translateY(-5px);

    box-shadow:0 18px 35px rgba(0,0,0,.12);

}

.benefit-item:hover i,

.benefit-item:hover span{

    color:#fff;

}


/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:1200px){

.comparison-container{

height:560px;

}

.comparison-benefits{

grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:992px){

.before-after{

padding:100px 0;

}

.comparison-container{

height:480px;

}

.slider-button{

width:60px;

height:60px;

font-size:22px;

}

}

@media(max-width:768px){

.before-after{

padding:80px 0;

}

.comparison-container{

height:350px;

border-radius:20px;

}

.label{

top:18px;

padding:8px 18px;

font-size:13px;

}

.before-label{

left:18px;

}

.after-label{

right:18px;

}

.slider-button{

width:55px;

height:55px;

font-size:20px;

}

.comparison-benefits{

grid-template-columns:1fr;

gap:15px;

}

}

@media(max-width:576px){

.comparison-container{

height:280px;

}

.slider-line{

width:2px;

}

.slider-button{

width:50px;

height:50px;

font-size:18px;

}

.benefit-item{

justify-content:flex-start;

padding:16px 18px;

}

}

/*=========================================
            FINAL CTA
=========================================*/

.final-cta{

    padding:120px 0;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(135deg,#08120D 0%,#0D1E15 50%,#07110C 100%);

    background-image:

    linear-gradient(135deg,#08120D 0%,#0D1E15 50%,#07110C 100%),

    linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);

    background-size:

    cover,

    55px 55px,

    55px 55px;

}



/*=========================================
            GREEN GLOW
=========================================*/

.final-cta::before{

    content:"";

    position:absolute;

    width:650px;

    height:650px;

    right:-180px;

    top:-100px;

    border-radius:50%;

    background:

    radial-gradient(circle,

    rgba(34,197,94,.22),

    rgba(22,163,74,.10),

    transparent 72%);

    filter:blur(90px);

    z-index:0;

}



.final-cta::after{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    left:-120px;

    bottom:-120px;

    border-radius:50%;

    background:

    radial-gradient(circle,

    rgba(34,197,94,.12),

    transparent 70%);

    filter:blur(90px);

}



/*=========================================
            WRAPPER
=========================================*/

.cta-wrapper{

    display:grid;

    grid-template-columns:1fr 620px;

    align-items:center;

    gap:70px;

    position:relative;

    z-index:2;

}



/*=========================================
            LEFT
=========================================*/

.cta-badge{

    display:inline-block;

    padding:11px 22px;

    border-radius:50px;

    border:1px solid rgba(34,197,94,.35);

    background:rgba(34,197,94,.08);

    color:#4ADE80;

    font-size:14px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:30px;

}



.cta-content h2{

    font-size:68px;

    line-height:1.05;

    color:#ffffff;

    font-weight:800;

}



.cta-content h2 span{

    display:block;

    color:var(--primary-color);

    font-size:86px;

    margin:8px 0;

    letter-spacing:2px;

}



.cta-content p{

    margin-top:35px;

    max-width:560px;

    color:rgba(255,255,255,.78);

    font-size:18px;

    line-height:1.9;

}



/*=========================================
            BUTTONS
=========================================*/

.cta-buttons{

    display:flex;

    gap:24px;

    margin-top:45px;

    flex-wrap:wrap;

}



.cta-btn{

    display:inline-flex;

    align-items:center;

    gap:12px;

    padding:20px 40px;

    border-radius:14px;

    text-decoration:none;

    font-size:16px;

    font-weight:600;

    transition:.35s;

}



.primary-btn{

    background:var(--primary-color);

    color:#fff;

    box-shadow:0 20px 40px rgba(34,197,94,.25);

}



.primary-btn:hover{

    transform:translateY(-6px);

    box-shadow:0 28px 55px rgba(34,197,94,.35);

}



.secondary-btn{

    color:#fff;

    border:1px solid rgba(255,255,255,.18);

    background:rgba(255,255,255,.06);

    -webkit-backdrop-filter:blur(10px);

    backdrop-filter:blur(10px);

}



.secondary-btn:hover{

    background:#ffffff;

    color:#111827;

}



/*=========================================
            IMAGE
=========================================*/

.cta-image{

    position:relative;

    display:flex;

    justify-content:center;

    align-items:center;

}



.cta-glow{

    position:absolute;

    width:560px;

    height:560px;

    border-radius:50%;

    background:

    radial-gradient(circle,

    rgba(34,197,94,.25),

    rgba(34,197,94,.12),

    transparent 72%);

    filter:blur(90px);

    animation:glowPulse 5s infinite ease-in-out;

}



.cta-image img{

    width:100%;

    max-width:600px;

    position:relative;

    z-index:2;

    filter:drop-shadow(0 30px 40px rgba(0,0,0,.35));

    transition:.45s;

}



.cta-image:hover img{

    transform:

    translateY(-15px)

    rotate(-3deg)

    scale(1.05);

}

/*=========================================
            CTA FEATURES
=========================================*/

.cta-features{

    margin-top:80px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:22px;

    position:relative;

    z-index:2;

}

.cta-feature{

    display:flex;

    align-items:center;

    gap:18px;

    padding:24px;

    border-radius:20px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.08);

    -webkit-backdrop-filter:blur(10px);

    backdrop-filter:blur(10px);

    transition:.35s;

}

.cta-feature:hover{

    transform:translateY(-8px) scale(1.03);

    background:rgba(34,197,94,.15);

    border-color:rgba(34,197,94,.35);

    box-shadow:0 20px 40px rgba(34,197,94,.18);

}

.cta-feature i{

    width:58px;

    height:58px;

    min-width:58px;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(34,197,94,.12);

    color:#4ADE80;

    font-size:22px;

    transition:.35s;

}

.cta-feature:hover i{

    background:#22C55E;

    color:#fff;

    transform:rotate(10deg);

}

.cta-feature h4{

    color:#fff;

    font-size:18px;

    margin-bottom:6px;

    font-weight:600;

}

.cta-feature span{

    color:rgba(255,255,255,.72);

    font-size:14px;

}



/*=========================================
            RESPONSIVE
=========================================*/

@media(max-width:1200px){

.cta-wrapper{

grid-template-columns:1fr;

text-align:center;

gap:60px;

}

.cta-content{

display:flex;

flex-direction:column;

align-items:center;

}

.cta-content p{

max-width:700px;

}

.cta-image{

order:-1;

}

.cta-image img{

max-width:460px;

}

.cta-features{

grid-template-columns:repeat(2,1fr);

}

}


@media(max-width:992px){

.final-cta{

padding:100px 0;

}

.cta-content h2{

font-size:52px;

}

.cta-content h2 span{

font-size:64px;

}

.cta-content p{

font-size:17px;

}

}


@media(max-width:768px){

.final-cta{

padding:80px 0;

}

.cta-wrapper{

gap:40px;

}

.cta-content h2{

font-size:38px;

}

.cta-content h2 span{

font-size:48px;

}

.cta-content p{

font-size:15px;

line-height:1.8;

}

.cta-buttons{

justify-content:center;

}

.cta-btn{

width:100%;

justify-content:center;

}

.cta-image img{

max-width:320px;

}

.cta-glow{

width:340px;

height:340px;

}

.cta-features{

grid-template-columns:1fr;

gap:18px;

margin-top:50px;

}

}


@media(max-width:576px){

.cta-badge{

font-size:12px;

}

.cta-content h2{

font-size:30px;

}

.cta-content h2 span{

font-size:38px;

}

.cta-feature{

padding:18px;

}

.cta-feature h4{

font-size:16px;

}

.cta-feature span{

font-size:13px;

}

}



/*=========================================
            ANIMATIONS
=========================================*/

@keyframes glowPulse{

0%{

transform:scale(1);

opacity:.65;

}

50%{

transform:scale(1.12);

opacity:1;

}

100%{

transform:scale(1);

opacity:.65;

}

}

.cta-content{

animation:fadeLeft .8s ease;

}

.cta-image{

animation:fadeRight .8s ease;

}

.cta-feature{

animation:fadeUp .8s ease;

}

.cta-feature:nth-child(2){

animation-delay:.1s;

}

.cta-feature:nth-child(3){

animation-delay:.2s;

}

.cta-feature:nth-child(4){

animation-delay:.3s;

}

@keyframes fadeLeft{

from{

opacity:0;

transform:translateX(-40px);

}

to{

opacity:1;

transform:translateX(0);

}

}

@keyframes fadeRight{

from{

opacity:0;

transform:translateX(40px);

}

to{

opacity:1;

transform:translateX(0);

}

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*=========================================
            FAQ SECTION
=========================================*/

.faq-section{

    padding:120px 0;

    background:#F8FBF9;

    position:relative;

    overflow:hidden;

}

.faq-wrapper{

    max-width:950px;

    margin:70px auto 0;

}



/*=========================================
            FAQ ITEM
=========================================*/

.faq-item{

    background:#ffffff;

    border:1px solid #E8ECEA;

    border-radius:20px;

    margin-bottom:22px;

    overflow:hidden;

    transition:.35s;

    box-shadow:0 8px 25px rgba(0,0,0,.04);

}

.faq-item:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(0,0,0,.08);

}



/*=========================================
            QUESTION
=========================================*/

.faq-question{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:28px 35px;

    border:none;

    outline:none;

    cursor:pointer;

    background:transparent;

    text-align:left;

}

.faq-question span{

    font-size:22px;

    font-weight:600;

    color:#111827;

    transition:.3s;

}



/*=========================================
            ICON
=========================================*/

.faq-question i{

    width:50px;

    height:50px;

    min-width:50px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:#F1F8F4;

    color:var(--primary-color);

    font-size:18px;

    transition:.35s;

}

.faq-item:hover .faq-question i{

    background:var(--primary-color);

    color:#ffffff;

    transform:rotate(90deg);

}



/*=========================================
            ACTIVE
=========================================*/

.faq-item.active{

    border-color:rgba(34,197,94,.35);

    box-shadow:0 20px 45px rgba(34,197,94,.10);

}

.faq-item.active .faq-question{

    background:#FCFEFD;

}

.faq-item.active .faq-question span{

    color:var(--primary-color);

}

.faq-item.active .faq-question i{

    background:var(--primary-color);

    color:#ffffff;

    transform:rotate(45deg);

}



/*=========================================
            ANSWER
=========================================*/

.faq-answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .45s ease;

    background:#ffffff;

}

.faq-answer p{

    padding:0 35px 30px;

    color:#667085;

    font-size:16px;

    line-height:1.9;

}

/*=========================================
            RESPONSIVE
=========================================*/

@media(max-width:1200px){

.faq-wrapper{

max-width:100%;

}

}


@media(max-width:992px){

.faq-section{

padding:100px 0;

}

.faq-question{

padding:24px 28px;

}

.faq-question span{

font-size:20px;

}

.faq-answer p{

padding:0 28px 26px;

font-size:15px;

}

}


@media(max-width:768px){

.faq-section{

padding:80px 0;

}

.faq-wrapper{

margin-top:50px;

}

.faq-item{

border-radius:18px;

margin-bottom:18px;

}

.faq-question{

padding:22px 22px;

gap:20px;

}

.faq-question span{

font-size:18px;

line-height:1.5;

}

.faq-question i{

width:45px;

height:45px;

min-width:45px;

font-size:16px;

}

.faq-answer p{

padding:0 22px 22px;

font-size:14px;

line-height:1.8;

}

}


@media(max-width:576px){

.faq-question{

padding:20px 18px;

align-items:flex-start;

}

.faq-question span{

font-size:17px;

padding-right:10px;

}

.faq-question i{

width:40px;

height:40px;

min-width:40px;

font-size:15px;

}

.faq-answer p{

padding:0 18px 20px;

font-size:14px;

}

}



/*=========================================
            HOVER EFFECT
=========================================*/

.faq-item::before{

content:"";

position:absolute;

left:0;

top:0;

width:4px;

height:100%;

background:transparent;

transition:.35s;

}

.faq-item{

position:relative;

}

.faq-item:hover::before{

background:var(--primary-color);

}

.faq-item.active::before{

background:var(--primary-color);

}



/*=========================================
            ANIMATIONS
=========================================*/

.faq-item{

animation:faqFade .6s ease both;

}

.faq-item:nth-child(2){

animation-delay:.08s;

}

.faq-item:nth-child(3){

animation-delay:.16s;

}

.faq-item:nth-child(4){

animation-delay:.24s;

}

.faq-item:nth-child(5){

animation-delay:.32s;

}

.faq-item:nth-child(6){

animation-delay:.40s;

}



@keyframes faqFade{

from{

opacity:0;

transform:translateY(30px);

}

to{

opacity:1;

transform:translateY(0);

}

}



/*=========================================
            EXTRA POLISH
=========================================*/

.faq-question{

transition:.35s;

}

.faq-item:hover .faq-question{

padding-left:42px;

}

.faq-item.active .faq-question{

padding-left:42px;

}

.faq-answer{

will-change:max-height;

}

.faq-item.active .faq-answer{

background:#FCFEFD;

}



/* ===== ChatGPT Mobile Responsive Patch ===== */
@media (max-width:768px){
.container{width:min(100%,94%);}
.hero-wrapper,.overview-wrapper,.structure-wrapper,.specification-wrapper,.cta-wrapper{grid-template-columns:1fr!important;gap:32px!important;}
.hero-content,.overview-content,.cta-content{text-align:center;}
.hero-buttons,.cta-buttons{flex-direction:column!important;}
.hero-buttons a,.cta-buttons a{width:100%!important;min-width:0!important;}
.hero-image,.overview-image,.structure-image,.cta-image,.court-blueprint{width:100%;max-width:100%;}
.hero-image img,.overview-image img,.structure-image img,.cta-image img,.court-blueprint img{max-width:100%;height:auto!important;}
.court-wrapper,.colour-wrapper,.overview-features,.hero-highlights,.why-stats,.comparison-benefits,.cta-features{grid-template-columns:1fr!important;}
.materials-timeline,.process-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.comparison-container{height:auto!important;aspect-ratio:16/9;}
.feature-left,.layer-card,.spec-item{flex-direction:column;align-items:flex-start;}
}
@media (max-width:480px){
h1{font-size:30px!important;}
.cta-content h2{font-size:38px!important;}
.cta-content h2 span{font-size:46px!important;}
section{padding:60px 0!important;}
}
/* =========================================
   ARTIFICIAL GRASS DETAILS (.grass-details-section)
========================================= */
.grass-details-section {
    padding: 100px 0;
    background: #ffffff;
}

.grass-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 60px;
}

.grass-card {
    background: #ffffff;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    transition: all 0.35s ease;
    display: flex;
    flex-direction: column;
}

.grass-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(13, 138, 69, 0.12);
    border-color: var(--primary-color);
}

.grass-card.featured {
    border: 2px solid var(--primary-color);
    box-shadow: 0 15px 35px rgba(13, 138, 69, 0.15);
}

.grass-image {
    position: relative;
    height: 230px;
    overflow: hidden;
    background: #f3f4f6;
}

.grass-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.grass-card:hover .grass-image img {
    transform: scale(1.08);
}

.grass-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: rgba(16, 24, 40, 0.85);
    color: #ffffff;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 12px;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.grass-badge.primary {
    background: var(--primary-color);
}

.grass-body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.grass-body h3 {
    font-size: 22px;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 10px;
}

.grass-desc {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.6;
    margin-bottom: 24px;
}

.grass-specs {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    background: var(--bg-light);
    padding: 18px;
    border-radius: 14px;
}

.spec-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
    padding-bottom: 8px;
    border-bottom: 1px dashed #e2e8f0;
}

.spec-row:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.spec-row span {
    color: #4b5563;
    display: flex;
    align-items: center;
    gap: 8px;
}

.spec-row span i {
    color: var(--primary-color);
    font-size: 14px;
}

.spec-row strong {
    color: var(--dark-color);
    font-weight: 700;
    text-align: right;
}

.grass-features-bar {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    background: var(--bg-light);
    padding: 36px;
    border-radius: 20px;
    border: 1px solid #e5e7eb;
}

.grass-feature-item {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.grass-feature-item i {
    font-size: 26px;
    color: var(--primary-color);
    background: #ffffff;
    padding: 14px;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
    min-width: 54px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.grass-feature-item h4 {
    font-size: 16px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 6px;
}

.grass-feature-item p {
    font-size: 12px;
    color: var(--text-muted);
    line-height: 1.5;
    margin: 0;
}
/* =========================================
  /* =========================================
   BELLIN PIONEER 50MM SECTION (.bellin-grass-section)
========================================= */
.bellin-grass-section {
    padding: 100px 0;
    background: #ffffff;
}

.bellin-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 60px;
    align-items: center;
    margin-bottom: 60px;
}

.bellin-image-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.bellin-img-box {
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.12);
    height: 380px;
    background: #f3f4f6;
}

.bellin-img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.bellin-img-box:hover img {
    transform: scale(1.06);
}

.bellin-badge {
    position: absolute;
    top: 20px;
    left: 20px;
    background: var(--primary-color);
    color: #ffffff;
    padding: 8px 18px;
    border-radius: 50px;
    font-size: 13px;
    font-weight: 700;
    display: flex;
    align-items: center;
    gap: 8px;
    box-shadow: 0 8px 20px rgba(13, 138, 69, 0.35);
}

.bellin-highlights-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.bellin-mini-card {
    background: var(--bg-light);
    border: 1px solid #e5e7eb;
    padding: 16px 12px;
    border-radius: 16px;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transition: 0.3s;
}

.bellin-mini-card:hover {
    background: #ffffff;
    border-color: var(--primary-color);
    box-shadow: 0 8px 20px rgba(13, 138, 69, 0.1);
}

.bellin-mini-card i {
    font-size: 20px;
    color: var(--primary-color);
}

.bellin-mini-card h4 {
    font-size: 15px;
    font-weight: 800;
    color: var(--dark-color);
    margin: 0;
}

.bellin-mini-card span {
    font-size: 12px;
    color: var(--text-muted);
}

.bellin-details-content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.bellin-tag {
    display: inline-block;
    color: var(--primary-color);
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 8px;
}

.bellin-header h3 {
    font-size: 32px;
    font-weight: 800;
    color: var(--dark-color);
    margin-bottom: 14px;
    line-height: 1.25;
}

.bellin-header p {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.7;
    margin: 0;
}

.bellin-specs-table {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: var(--bg-light);
    padding: 24px;
    border-radius: 20px;
    border: 1px solid #e5e7eb;
}

.spec-label-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.bellin-spec-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 14px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #edf2f7;
}

.spec-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #4b5563;
    font-weight: 600;
}

.spec-label i {
    color: var(--primary-color);
    font-size: 15px;
}

.spec-value {
    font-size: 14px;
    font-weight: 700;
    color: var(--dark-color);
    text-align: right;
}

.bellin-features-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.bellin-feature-card {
    background: #ffffff;
    padding: 28px 22px;
    border-radius: 20px;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04);
    display: flex;
    flex-direction: column;
    gap: 16px;
    transition: 0.35s ease;
}

.bellin-feature-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 15px 35px rgba(13, 138, 69, 0.12);
    border-color: var(--primary-color);
}

.feature-icon-wrapper {
    width: 54px;
    height: 54px;
    background: var(--primary-light);
    color: var(--primary-color);
    border-radius: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 22px;
}

.bellin-feature-card h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--dark-color);
    margin-bottom: 6px;
}

.bellin-feature-card p {
    font-size: 13px;
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

/* =========================================
        RESPONSIVE BREAKPOINTS (@media)
========================================= */
@media(max-width: 1200px) {
    .hero-wrapper, .overview-wrapper, .structure-wrapper, .specification-wrapper, .cta-wrapper, .bellin-wrapper {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .materials-timeline { grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .process-wrapper { grid-template-columns: repeat(4, 1fr); gap: 20px; }
    .why-stats, .cta-features, .bellin-features-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .bellin-img-box { height: 320px; }
}

@media(max-width: 992px) {
    .court-wrapper, .overview-features, .why-features {
        grid-template-columns: 1fr;
    }
    .colour-wrapper {
        grid-template-columns: repeat(2, 1fr);
    }
    .hero-content h1 { font-size: 40px; }
    .overview-content h2, .section-title h2, .cta-content h2, .bellin-header h3 { font-size: 30px; }
    .bellin-wrapper { gap: 35px; }
}

@media(max-width: 768px) {
    .football-hero, .football-overview, .court-types, .court-colours, .bellin-grass-section, .court-structure, .materials-section, .construction-process, .court-specifications, .why-choose, .before-after, .final-cta, .faq-section {
        padding: 60px 0;
    }
    .hero-highlights, .colour-wrapper, .specification-content, .bellin-features-grid {
        grid-template-columns: 1fr;
    }
    .bellin-img-box { height: 260px; }
    .bellin-badge { top: 14px; left: 14px; font-size: 12px; padding: 6px 14px; }
    .bellin-highlights-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .bellin-mini-card { padding: 12px 8px; border-radius: 12px; }
    .bellin-mini-card h4 { font-size: 14px; }
    .bellin-mini-card span { font-size: 11px; }

    .bellin-specs-table { padding: 18px 14px; gap: 10px; border-radius: 16px; }
    .spec-label-row { grid-template-columns: 1fr; gap: 10px; }
    .bellin-spec-item { flex-direction: column; align-items: flex-start; gap: 4px; padding: 10px; }
    .spec-label { font-size: 13px; }
    .spec-value { text-align: left; font-size: 13px; width: 100%; }

    .bellin-feature-card { padding: 22px 18px; border-radius: 16px; gap: 12px; }
    .feature-icon-wrapper { width: 46px; height: 46px; font-size: 18px; border-radius: 12px; }
    .bellin-feature-card h4 { font-size: 16px; }

    .materials-timeline { grid-template-columns: repeat(2, 1fr); }
    .process-wrapper { grid-template-columns: repeat(2, 1fr); }
    .why-stats { grid-template-columns: repeat(2, 1fr); }
    .cta-features { grid-template-columns: 1fr; }
    .hero-buttons, .cta-buttons { flex-direction: column; width: 100%; }
    .hero-buttons a, .cta-btn { width: 100%; justify-content: center; }
}

@media(max-width: 480px) {
    .hero-content h1 { font-size: 30px; }
    .section-title h2, .bellin-header h3, .overview-content h2, .cta-content h2 { font-size: 26px; }
    .section-title p, .bellin-header p { font-size: 14px; }
    .materials-timeline, .process-wrapper, .why-stats { grid-template-columns: 1fr; }
    .stat-item h3 { font-size: 32px; }
    .bellin-highlights-grid { grid-template-columns: repeat(2, 1fr); }
    .bellin-spec-item { padding: 8px 10px; }
}
/* =========================================================
   HOCKEY TURF - MOBILE RESPONSIVE FIX
   ========================================================= */

@media (max-width: 768px) {

    /* Prevent horizontal overflow */
    html,
    body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden !important;
    }

    * {
        box-sizing: border-box;
    }

    /* Main sections */
    section,
    .container,
    .section-container {
        width: 100%;
        max-width: 100%;
    }

    /* -----------------------------------------------------
       COMPARISON / TURF SPECIFICATION SECTION
       ----------------------------------------------------- */

    .comparison-section,
    .comparison-container,
    .specs-section {
        width: 100%;
        max-width: 100%;
        padding-left: 16px;
        padding-right: 16px;
        overflow: hidden;
    }

    /* If comparison cards are in a row */
    .comparison-grid,
    .comparison-cards,
    .specs-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 18px !important;
    }

    /* Individual comparison card */
    .comparison-card,
    .spec-card,
    .comparison-item {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
    }


    /* -----------------------------------------------------
       FEATURES SECTION
       ----------------------------------------------------- */

    .features-grid,
    .feature-grid,
    .benefits-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 16px !important;
    }

    .feature-card,
    .benefit-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }


    /* -----------------------------------------------------
       FEATURE CONTENT
       ----------------------------------------------------- */

    .feature-card h3,
    .benefit-card h3 {
        font-size: 19px !important;
        line-height: 1.35 !important;
    }

    .feature-card p,
    .benefit-card p {
        font-size: 15px !important;
        line-height: 1.6 !important;
    }


    /* -----------------------------------------------------
       TURF STRUCTURE SECTION
       ----------------------------------------------------- */

    .turf-structure,
    .structure-section {
        width: 100% !important;
        max-width: 100% !important;
        padding: 55px 18px !important;
        overflow: hidden;
    }

    .turf-structure h2,
    .structure-section h2 {
        font-size: 30px !important;
        line-height: 1.2 !important;
        text-align: center;
    }


    /* -----------------------------------------------------
       IMAGES
       ----------------------------------------------------- */

    img {
        max-width: 100%;
        height: auto;
    }

    .comparison-card img,
    .feature-card img {
        max-width: 100%;
        height: auto;
    }


    /* -----------------------------------------------------
       TABLE / FLEX CONTENT
       ----------------------------------------------------- */

    .comparison-table,
    .spec-table {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto;
    }

    .comparison-table table,
    .spec-table table {
        width: 100% !important;
        min-width: 0 !important;
    }


    /* -----------------------------------------------------
       FLEX ROWS
       ----------------------------------------------------- */

    .comparison-row,
    .feature-row,
    .benefits-row {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 16px !important;
    }


    /* -----------------------------------------------------
       REMOVE FIXED WIDTHS
       ----------------------------------------------------- */

    .comparison-card,
    .feature-card,
    .benefit-card,
    .spec-card,
    .comparison-item,
    .comparison-grid,
    .features-grid,
    .feature-grid {
        min-width: 0 !important;
    }

}
/* =========================================================
   HOCKEY TURF — MOBILE NAVBAR FIX
   Desktop layout untouched
   ========================================================= */

@media (max-width: 768px) {

    /* NAVBAR */
    .navbar {
        position: sticky !important;
        top: 0;
        width: 100%;
        z-index: 9999;
        background: rgba(255, 255, 255, 0.97);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    }

    .nav-container {
        width: 100%;
        max-width: 100%;
        min-height: 68px;
        padding: 10px 18px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
    }

    /* LOGO */
    .nav-logo {
        display: flex;
        align-items: center;
        flex-shrink: 0;
    }

    .logo-img {
        width: 145px;
        max-width: 145px;
        height: auto;
        display: block;
        object-fit: contain;
    }

    /* HIDE DESKTOP MENU */
    .nav-menu {
        display: none !important;
    }

    /* HIDE DESKTOP QUOTE BUTTON */
    .nav-cta {
        display: none !important;
    }

    /* HAMBURGER */
    .nav-burger {
        width: 44px;
        height: 44px;
        padding: 0;
        border: 0;
        background: #ffffff;
        border-radius: 12px;

        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;

        cursor: pointer;
        flex-shrink: 0;

        box-shadow: 0 5px 18px rgba(0, 0, 0, 0.08);
    }

    .nav-burger span {
        display: block;
        width: 21px;
        height: 2px;
        border-radius: 5px;
        background: #111827;
        transition: 0.3s ease;
    }

    /* MOBILE MENU OPEN */
    .nav-menu.active {
        display: flex !important;
        position: absolute;
        top: 68px;
        left: 0;
        width: 100%;

        flex-direction: column;
        align-items: stretch;

        padding: 12px 18px 18px;
        gap: 4px;

        background: #ffffff;
        border-top: 1px solid #eeeeee;
        box-shadow: 0 15px 30px rgba(0, 0, 0, 0.10);
    }

    .nav-menu.active .nav-link {
        display: block;
        width: 100%;
        padding: 14px 12px;

        font-size: 15px;
        color: #111827;
        text-decoration: none;

        border-radius: 10px;
    }

    .nav-menu.active .nav-link:hover,
    .nav-menu.active .nav-link.active {
        background: #eaf8ef;
        color: var(--primary-color);
    }

    /* HERO */
    .hockey-hero {
        padding: 45px 0 60px;
    }

    .hockey-hero .container {
        width: 100%;
        padding: 0 16px;
    }

    .hero-wrapper {
        display: flex !important;
        flex-direction: column;
        gap: 28px !important;
    }

    /* Breadcrumb first */
    .hero-content {
        display: contents;
    }

    .hero-breadcrumb {
        order: 1;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        gap: 6px;
        margin-bottom: 0;
        font-size: 12px;
    }

    /* Hero image */
    .hero-image {
        order: 2;
        width: 100%;
        max-width: 100%;
    }

    .hero-image img {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: block;
        border-radius: 18px;
    }

    /* Badge */
    .hero-badge {
        order: 3;
        margin: 0 auto;
        font-size: 12px;
        padding: 9px 16px;
        text-align: center;
    }

    /* Heading */
    .hero-content h1 {
        order: 4;
        width: 100%;
        margin: 0;
        font-size: 32px;
        line-height: 1.2;
        text-align: center;
    }

    /* Description */
    .hero-content > p {
        order: 5;
        width: 100%;
        margin: 0;
        font-size: 15px;
        line-height: 1.7;
        text-align: center;
    }

    /* Buttons */
    .hero-buttons {
        order: 6;
        width: 100%;
        margin: 0;
        display: flex;
        flex-direction: column !important;
        gap: 12px;
    }

    .hero-buttons a {
        width: 100% !important;
        min-width: 0 !important;
        height: 52px;
    }

    /* Highlights */
    .hero-highlights {
        order: 7;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .hero-highlights div {
        width: 100%;
        padding: 14px 16px;
        border-radius: 14px;
        font-size: 13px;
        text-align: left;
    }

    /* OVERVIEW */
    .hockey-overview {
        padding: 60px 0;
    }

    .hockey-overview .container {
        width: 100%;
        padding: 0 16px;
    }

    .overview-wrapper {
        display: flex !important;
        flex-direction: column;
        gap: 32px !important;
    }

    .overview-image {
        order: 1;
        width: 100%;
        max-width: 100%;
    }

    .overview-image img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 18px;
    }

    .overview-content {
        order: 2;
        width: 100%;
        text-align: center;
    }

    .overview-content h2 {
        font-size: 28px;
        line-height: 1.25;
    }

    .overview-content > p {
        font-size: 15px;
        line-height: 1.7;
    }

    .overview-features {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .overview-card {
        text-align: left;
        padding: 18px;
    }

    /* GRASS CARDS */
    .grass-details-section {
        padding: 60px 0;
    }

    .grass-details-section .container {
        width: 100%;
        padding: 0 16px;
    }

    .grass-grid {
        grid-template-columns: 1fr !important;
        gap: 22px !important;
        width: 100%;
    }

    .grass-card {
        width: 100%;
        min-width: 0;
    }

    .grass-image {
        height: 230px;
    }

    .grass-body {
        padding: 22px;
    }

    .grass-body h3 {
        font-size: 22px;
        line-height: 1.3;
    }

    .grass-desc {
        font-size: 14px;
        line-height: 1.7;
    }

    .grass-specs {
        width: 100%;
    }

    .spec-row {
        flex-wrap: wrap;
        gap: 6px;
    }

    .spec-row strong {
        max-width: 100%;
        text-align: right;
    }

    /* GRASS FEATURES */
    .grass-features-bar {
        grid-template-columns: 1fr !important;
        gap: 12px;
    }

    .grass-feature-item {
        width: 100%;
    }

}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {

    .nav-container {
        min-height: 62px;
        padding: 9px 14px;
    }

    .logo-img {
        width: 125px;
        max-width: 125px;
    }

    .nav-burger {
        width: 42px;
        height: 42px;
    }

    .nav-menu.active {
        top: 62px;
    }

    .hockey-hero {
        padding-top: 32px;
    }

    .hero-content h1 {
        font-size: 29px;
    }

    .hero-content h1 span {
        display: inline;
    }

    .hero-badge {
        font-size: 11px;
    }

    .hero-image img {
        border-radius: 16px;
    }

    .section-title h2 {
        font-size: 27px !important;
        line-height: 1.25;
    }

    .section-title p {
        font-size: 14px !important;
        line-height: 1.7;
    }

    .grass-image {
        height: 210px;
    }

    .grass-body {
        padding: 18px;
    }
}


/* =========================================================
   BEFORE & AFTER SLIDER - FINAL OVERRIDE
   This must remain at the END of the stylesheet.
========================================================= */
#comparison-container.comparison-container {
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    cursor: ew-resize !important;
    touch-action: none !important;
}

#comparison-container > img.comparison-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    margin: 0 !important;
}

#comparison-container #before-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    clip-path: inset(0 50% 0 0);
    -webkit-clip-path: inset(0 50% 0 0);
    z-index: 2 !important;
    padding: 0 !important;
}

#comparison-container #before-image img.comparison-image {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    margin: 0 !important;
}

#comparison-container #slider-line {
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    width: 4px !important;
    height: 100% !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    z-index: 20 !important;
    pointer-events: none !important;
}

#comparison-container #slider-line .slider-button {
    pointer-events: auto !important;
    touch-action: none !important;
}

@media (max-width: 576px) {
    #comparison-container.comparison-container {
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 16 / 9 !important;
        padding: 0 !important;
    }
}
